// pages/loginType/loginType.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
  
  },
  onekeyLogin:function(){
    //登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      }
    })
    //获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
          wx.getUserInfo({
            success: res => {console.log(res.userInfo);
              // 可以将 res 发送给后台解码出 unionId
              app.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              // if (this.userInfoReadyCallback) {
              //   this.userInfoReadyCallback(res)
              // }
            }
          })
        }
      }
    })
  },
  wxlogin: function () {//获取用户的openID和sessionKey
    var that = this;
    wx.login({
      //获取code 使用wx.login得到的登陆凭证，用于换取openid
      success: (res) => {
        wx.request({
          method: "GET",
          url: 'https://api.weixin.qq.com/sns/jscode2session?grant_type=authorization_code',
          data: {
            js_code: res.code,
            appid: "wx01c0cc37cd84cd0b",
            secret: "beaa997d1bd090804dfd982c1f9d8d01"
          },
          dataType:'json',
          header: {
            'content-type': 'application/json' // 默认值
          },
          success: (res) => {
            console.log('openid:' + res.data.openid);
            console.log('sessionKy:' + res.data.session_key);
            that.setData({
              sessionKey: res.data.session_key
            });
          }
        });
      }
    });
  },
  getPhoneNumber: function (e) {
    // console.log(e.detail.errMsg)
    // console.log(e.detail.iv)
    // console.log(e.detail.encryptedData)
    var that = this;

    wx.checkSession({
      success: function () {
        console.log('errMsg:'+e.detail.errMsg)
        console.log('iv:'+e.detail.iv)
        console.log('encry:'+e.detail.encryptedData)

        var ency = e.detail.encryptedData;
        var iv = e.detail.iv;
        var sessionk = that.data.sessionKey;

        if (e.detail.errMsg == 'getPhoneNumber:fail user deny') {
          that.setData({
            modalstatus: true
          });
        } 
        else {//同意授权
          wx.request({
            method: "GET",
            url: 'https://xxx/wx/deciphering.do',
            data: {
              encrypdata: ency,
              ivdata: iv,
              sessionkey: sessionk
            },
            header: {
              'content-type': 'application/json' // 默认值
            },
            success: (res) => {
              console.log("解密成功~~~~~~~将解密的号码保存到本地~~~~~~~~");
              console.log(res);
              var phone = res.data.phoneNumber;
              console.log(phone);


            }, fail: function (res) {
              console.log("解密失败~~~~~~~~~~~~~");
              console.log(res);
            }
          });
        }
      },
      fail: function () {
        console.log("session_key 已经失效，需要重新执行登录流程");
        that.wxlogin(); //重新登录
      }
    });
  },
  getUserInfo: function (e) {
    console.log(e)
    app.globalData.userInfo = e.detail.userInfo
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
  
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
  
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
  
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  
  }
})